package com.mf.entity.request;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;

import java.io.Serial;
import java.time.LocalDateTime;

/**
 * @Author: lmf
 * @Create: 2024/8/8 14:18
 * Description: 权限保存请求
 */

@Getter
public class PermissionSaveRequest {
    @Schema(description = "id", example = "")
    private Integer id;
    @Schema(description = "权限名称", example = "仓库")
    @NotBlank(message = "权限名称不能为空")
    private String name;

    @Schema(description = "权限描述", example = "仓库管理员")
    private String remark;

    @Schema(description = "操作类型", example = "search")
    @NotBlank(message = "操作类型不能为空")
    private String actionType;


    @Schema(description = "排序", example = "1")
    private Integer sort;

    @Schema(description = "父级id", example = "0")
    private Integer pid;


    @Schema(description = "路由菜单访问路径")
    private String path;

    @Schema(description = "路由名称")
    private String pathName;
    @Schema(description = "组件路径")
    private String componentPath;

    @Schema(description = "路由重定向地址")
    private String redirect;

    @Schema(description = "菜单和面包屑对应的图标")
    private String metaIcon;

    @Schema(description = "后端接口地址")
    private String apiUrl;


    @Schema(description = "路由标题 (用作 document.title || 菜单的名称)")
    private String metaTitle;

    @Schema(description = "当前路由为详情页时，需要高亮的菜单")
    private String metaActiveMenu;


    @Schema(description = "路由外链时填写的访问地址")
    private String metaIsLink;


    @Schema(description = "是否在菜单中隐藏 (通常列表详情页需要隐藏)")
    private Integer metaIsHide;


    @Schema(description = "菜单是否全屏 (示例：数据大屏页面)")
    private Integer metaIsFull;


    @Schema(description = "菜单是否固定在标签页中 (首页通常是固定项)")
    private Integer metaIsAffix;

    @Schema(description = "当前路由是否缓存")
    private Integer metaIsKeepAlive;

    @Schema(description = "其他标识,通常类似功能使用同一页面是用于区分")
    private String metaFlag;


    @Schema(description = "多个以逗号分割存储")
    private String metaRole;

    @Schema(description = "-1所有系统可以访问")
    private Integer systemId;

}
